package com.cu.employmentmanagementsystem.service;

import com.cu.employmentmanagementsystem.common.result.R;
import com.cu.employmentmanagementsystem.entity.RecruitInformation;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;

import java.util.List;

/**
 * (RecruitInformation)表服务接口
 *
 * @author makejava
 * @since 2024-07-02 16:20:16
 */
public interface RecruitInformationService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    RecruitInformation queryById(Long id);

    /**
     * 分页查询
     *
     * @param recruitInformation 筛选条件
     * @param pageRequest      分页对象
     * @return 查询结果
     */
    Page<RecruitInformation> queryByPage(RecruitInformation recruitInformation, PageRequest pageRequest);

    /**
     * 新增数据
     *
     * @param recruitInformation 实例对象
     * @return 实例对象
     */
    RecruitInformation insert(RecruitInformation recruitInformation);

    /**
     * 修改数据
     *
     * @param recruitInformation 实例对象
     * @return 实例对象
     */
    boolean update(RecruitInformation recruitInformation);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);

    /**
     * 根据审核状态查询招聘信息
     *
     * @param status 审核状态
     * @return 影响行数
     */
    List<RecruitInformation> queryByStatus(String status);

    R commitRecruit (RecruitInformation recruitInformation);
}